Telecommunication networks have migrated from using specialized networking equipment executing on dedicated hardware, like routers, firewalls, application specific servers, and gateways, to software defined networks (SDNs) executing as virtualized network functions (VNFs) in a cloud infrastructure. VNFs are a set of virtual machines (VMs) that are instantiated on general purpose hardware. For a virtualized telecommunication network to function efficiency, it is important that the hardware resources of its underlying cloud infrastructure be assigned efficiently.
However, there are barriers to efficient assignment of hardware resources. For instance, the sheer volume of VMs and corresponding hardware resources makes assignment of resources a complex undertaking. In addition, VNFs and VMs may have their own unique resource and performance requirements, which may be in conflict with each other. Finally, hardware resources must be efficiently assigned to VNFs and VMs, in accordance with their needs, while providing quality and reliable services to end users. Therefore, there is a need for the systems and methods described in the present disclosure for managing VM resources within a network environment.